package guilag;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
import javax.swing.JButton;


/**
 * Haandtere SeMedarbejderFrame
 * @author Gruppe 1
 * @version 1.0.0 (20-01-2014)
 */
public class SeMedarbejderFrame extends JFrame {
	private static final long serialVersionUID = 1L;
	private JTextField txtFornavn, txtEfternavn, txtTelefonNummer, txtAdresse, txtPostNummer, txtBy, txtEmail, txtBrugernavn, txtStilling, txtType;
	private MedarbejderPanel medarbejderPanel;

	private String fornavn, efternavn, adresse, postnummer, by, telefon, mail, brugernavn, stilling, type;

	/**
	 * Constructor for klassen SeMedarbejderFrame
	 * @param fornavn
	 * @param efternavn
	 * @param adresse
	 * @param postnummer
	 * @param by
	 * @param telefon
	 * @param mail
	 * @param brugernavn
	 * @param stilling
	 * @param type
	 */
	public SeMedarbejderFrame(String fornavn, String efternavn, String adresse, String postnummer, String by, String telefon, String mail, String brugernavn, String stilling, String type) { 
		this.fornavn = fornavn;
		this.efternavn = efternavn;
		this.adresse = adresse;
		this.postnummer = postnummer;
		this.by = by;
		this.telefon = telefon;
		this.mail = mail;
		this.brugernavn = brugernavn;
		this.stilling = stilling;
		this.type = type;
		medarbejderPanel = MedarbejderPanel.getInstance();
		initialiserFrame();	
	}
	/**
	 * metode der initialisere Frame for SeMedarbejderFrame
	 */
	private void initialiserFrame() {
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

		setTitle("Se Medarbejder || Vestbjerg byggecenter ");
		setBounds((int) d.getWidth() / 4, (int) d.getHeight() / 5, 400, 371);
		setResizable(false);
		setVisible(true);
		getContentPane().setLayout(null);
		initialiserPanel1();
		initialiserPanel2();
	}
	/**
	 * metode der initialisere panel1 for SeMedarbejderFrame
	 */
	private void initialiserPanel1() {
		JPanel panel = new JPanel();
		panel.setBorder(new TitledBorder(null, "Personlige Oplysninger", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel.setBounds(10, 11, 374, 197);
		getContentPane().add(panel);
		panel.setLayout(null);
		
		JLabel lblFornavn = new JLabel("Fornavn:");
		lblFornavn.setBounds(10, 23, 74, 14);
		panel.add(lblFornavn);
		
		txtFornavn = new JTextField(fornavn);
		txtFornavn.setBounds(125, 20, 239, 20);
		txtFornavn.setEditable(false);
		panel.add(txtFornavn);
		txtFornavn.setColumns(10);
		
		JLabel lblEfternavn = new JLabel("Efternavn:");
		lblEfternavn.setBounds(10, 48, 74, 14);
		panel.add(lblEfternavn);
		
		txtEfternavn = new JTextField(efternavn);
		txtEfternavn.setColumns(10);
		txtEfternavn.setBounds(125, 45, 239, 20);
		txtEfternavn.setEditable(false);
		panel.add(txtEfternavn);
		
		JLabel lblTelefonNummer = new JLabel("Telefon Nummer:");
		lblTelefonNummer.setBounds(10, 73, 105, 14);
		panel.add(lblTelefonNummer);
		
		txtTelefonNummer = new JTextField(telefon);
		txtTelefonNummer.setColumns(10);
		txtTelefonNummer.setBounds(125, 70, 239, 20);
		txtTelefonNummer.setEditable(false);
		panel.add(txtTelefonNummer);
		
		JLabel lblAdresse = new JLabel("Adresse:");
		lblAdresse.setBounds(10, 98, 74, 14);
		panel.add(lblAdresse);
		
		txtAdresse = new JTextField(adresse);
		txtAdresse.setColumns(10);
		txtAdresse.setBounds(125, 95, 239, 20);
		txtAdresse.setEditable(false);
		panel.add(txtAdresse);
		
		JLabel lblPostNummer = new JLabel("Post nummer:");
		lblPostNummer.setBounds(10, 123, 91, 14);
		panel.add(lblPostNummer);
		
		JLabel lblBy = new JLabel("By:");
		lblBy.setBounds(10, 148, 46, 14);
		panel.add(lblBy);
		
		JLabel lblEmail = new JLabel("Email:");
		lblEmail.setBounds(10, 173, 46, 14);
		panel.add(lblEmail);
		
		txtPostNummer = new JTextField(postnummer);
		txtPostNummer.setColumns(10);
		txtPostNummer.setBounds(125, 120, 239, 20);
		txtPostNummer.setEditable(false);
		panel.add(txtPostNummer);
		
		txtBy = new JTextField(by);
		txtBy.setColumns(10);
		txtBy.setBounds(125, 145, 239, 20);
		txtBy.setEditable(false);
		panel.add(txtBy);
		
		txtEmail = new JTextField(mail);
		txtEmail.setColumns(10);
		txtEmail.setBounds(125, 170, 239, 20);
		txtEmail.setEditable(false);
		panel.add(txtEmail);
	}
	
	/**
	 * metode der initialisere panel1 for SeMedarbejderFrame
	 */
	private void initialiserPanel2()
	{
		JPanel panel_1 = new JPanel();
		panel_1.setLayout(null);
		panel_1.setBorder(new TitledBorder(null, "Medarbejder Oplysninger", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel_1.setBounds(10, 219, 374, 97);
		getContentPane().add(panel_1);
		
		JLabel lblBrugernavn = new JLabel("Brugernavn:");
		lblBrugernavn.setBounds(10, 23, 74, 14);
		panel_1.add(lblBrugernavn);
		
		txtBrugernavn = new JTextField(brugernavn);
		txtBrugernavn.setColumns(10);
		txtBrugernavn.setBounds(125, 20, 239, 20);
		txtBrugernavn.setEditable(false);
		panel_1.add(txtBrugernavn);
		
		JLabel lblStilling = new JLabel("Stilling:");
		lblStilling.setBounds(10, 48, 82, 14);
		panel_1.add(lblStilling);
		
		txtStilling = new JTextField(stilling);
		txtStilling.setColumns(10);
		txtStilling.setBounds(125, 45, 239, 20);
		txtStilling.setEditable(false);
		panel_1.add(txtStilling);
		
		JLabel lblType = new JLabel("Type:");
		lblType.setBounds(10, 73, 46, 14);
		panel_1.add(lblType);
		
		txtType = new JTextField(type);
		txtType.setBounds(124, 70, 240, 20);
		txtType.setEditable(false);
		panel_1.add(txtType);
		txtType.setColumns(10);
		
		String [] adminBruger = { "Administrator", "Bruger" };
		
		JButton btnLuk = new JButton("Luk");
		btnLuk.setBounds(302, 316, 82, 23);
		getContentPane().add(btnLuk);
		btnLuk.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                luk();
                autoUpdate();
        }
    });
		setVisible(true);
	}
	
	/**
	 * metoder der lukker framet
	 */
	private void luk()
	{
		setVisible(false);
        dispose();
	}
	
	/**
	 * metode der autoupdater medarbejderPanel
	 */
	private void autoUpdate()
	{
		medarbejderPanel.opdaterTabel();
	}
	
}